Auto-focus method

ABSTRACT

An auto-focus method to determine an optimum position of a lens module includes defining search boundaries and an allowable difference, randomly sampling current values within the search boundaries d 1 , d 2  and d 3 , and obtaining sharpness m 1 , m 2  and m 3 . A parabola is determined where a vertex of the parabola is used as a next input current value where three larger values of the sharpness are used along with corresponding current values to re-determine a new parabola. Three current values are sampled and a corresponding current value is used to re-determine a new parabola and according to a comparison of the sharpness values, the lens module is driven to auto-focus.

BACKGROUND

1. Technical Field

The present disclosure relates to an auto-focus technologies, andparticularly to an auto-focus method capable of finding a focusedposition.

2. Description of Related Art

In order to change a relative positions between a lens module and asensing element, a camera module uses an auto-focus function uses avoice coil motor to drive the lens module, and focuses the lens moduleto get a sharp image. A commonly used image analytic function is amodulation transfer function (MTF). In order to improve searching for anoptimum focus position, a larger searching space to calculate the MTFvalues one by one is used, and when the MTF value is over a peak value,a searching space is narrowed for recalculating the MTF value. The abovesteps are repeated until the peak value over by the MTF value no longerchanges, then the auto-focus function is completed. But when the MTFcurve shows a little oscillation, it is easy to search only in regionalpeaks, rather than a global peak. Therefore, it is necessary to providea focus position searching method to avoid falling into a regional peak.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a cross-sectional schematic view of a lens module inaccordance with an exemplary embodiment.

FIG. 2 is a flowchart of a method for auto-focus in accordance with anexemplary embodiment.

DETAILED DESCRIPTION

Embodiments of the disclosure will be described with reference to thedrawings. In FIG. 1, an auto-focus method, according to an exemplaryembodiment, is used in an electronic device, such as camera andtelephone, that includes a lens module 100. The lens module 100 includesa focusing lens 10 and a voice coil motor (VCM) 20 for driving thefocusing lens 10 to move within a focus range of the lens module 100. Animage captured by the lens module 100 is changed with a position of thefocusing lens 10. The VCM 20 converts an input current into an impellingforce for the lens module 100, where the input current corresponds to adisplacement of the lens module 100. In other words, the lens module 100according to the input current moves to different positions, in order toobtain a sharp image.

FIG. 2 is a flowchart of a method for auto-focus in accordance with anexemplary embodiment In the present embodiment a method for auto-focusincludes steps S1 to S7 as follows:

In step S1, a search boundary of the input current and an allowabledifference of the input current are defined, where the input current isin an operating current range of a voice coil motor 20, a left boundaryis denoted as L, a right boundary is denoted as R, and the allowabledifference is denoted as δ, where |R−L| is greater than δ. The value ofδ is less than or equal to 0.05; in the embodiment the value is lessthan or equal to 0.01. The search boundary is set in an allowable inputcurrent range for the voice coil motor 20.

In step S2, three current values are randomly sampled within the searchboundaries d₁, d₂ and d₃, separately to move the lens module 100 tocorresponding positions in order to capture three images, and tocalculate and record a sharpness of each images, m₁, m₂ and m₃. In thepresent embodiment, the sharpness of the image can be obtained by thefollowing formula MTF=(High−Low)/(High+Low), whereHigh=Ave+0.6(Max−Ave), Low=Ave−0.6(Ave−Min), Ave is an average value ofa gray scale, Max is a maximum value of the gray scale, Min is a minimumvalue of the gray scale. Gray scale may be in any one of red, green, andblue.

In step S3, three points from three coordinates (d₁, m₁), (d₂, m₂), and(d₃, m₃) are used to determine a parabola, and a horizontal coordinated₁, at vertex of the parabola is used as a next input current value,then a corresponding sharpness of the image m₁, can be obtained. Thecurrent value is used as a vertical coordinate and the sharpness of theimage is used as a horizontal coordinate to establish a coordinatesystem. A curve simultaneously passes through the three points (d₁, m₁),(d₂, m₂), and (d₃, m₃) which is obtained by using a tracing pointmethod, and a horizontal coordinate d_(n), at vertex of the curve can beobtained, then the d_(n), is used to drive the lens module 100 to moveto a corresponding position and capturing an image, a sharpness of theimage m₁, is then calculated and recorded.

In step S4, the m_(n), m₁, m₂, and m₃ are sorted, if m_(n), is themaximum value in the m_(n), m₁, m₂, and m₃, then returning to step S3,three larger values in the m_(n), m₁, m₂, and m₃ and the correspondingcurrent values are used to re-determine a new parabola; conversely, ifthe m_(n), is not the maximum value in the m_(n), m₁, m₂, and m₃,entering into step S5.

In step S5, three current values within the search boundaries d₁′, d₂′and d₃′ are sampled, separately to move the lens module 100 to acorresponding positions in order to capture three images, and tocalculate and record a sharpness of each image m₁′, m₂′ and m₃′, whereind₁′=L+r(R−L), d₂′=L+r(d₁′−L), and d₃′=L+r(R−d₁), r is a golden sectionpoint 0.618.

In step S6, all of the sharpnesses in steps S2-S5 are sorted, if anyoneof the m₁′, m₂′ and m₃′ is the maximum value, then returning to S3,three larger values in all of the sharpnesses and the correspondingcurrent values are used to re-determine a new parabola; if anyone of them₁′, m₂′ and m₃′ is not the maximum value, entering into step S7.

In step S7, according to a situation of the larger value of the m₁′, m₂′and m₃′, and if m₁′ is not the maximum value but a larger value in them₁′, m₂′ and m₃′ go to step a; if m₂′ is not the maximum value in them₁′, m₂′ and m₃′ go to step b; if m₃′ is not the maximum value of them₁′, m₂′ and m₃′ go to step c.

In step a, if m₂′>m₃′, the left boundary is re-defined as d₃′, the d₃′is compared with the R, if R-d₃′ is less than δ, then the larger valuecorresponds to the current value within the sharpness of the imagecorresponding to R, m₁′, m₂′ and m₃′ is used to drive the lens module100 to complete the focus; if R−d₃′ is greater than δ, returning to S2,three current values are randomly sampled within the re-defined left andright search boundaries, and a corresponding sharpness of the images canbe obtained; if m₂′<m₃′, the right boundary is re-defined as d₂′, ifL−d₂′ is less than δ, then the larger value corresponds to the currentvalue within the sharpness of the image corresponding to L, m₁′, m₂′ andm₃′ are used to drive the lens module 100 to complete the focus; ifL−d₂′ is greater than δ, returning to S2, three current values arerandomly sampled within the re-defined left and right search boundaries,and a corresponding sharpness of the images can be obtained.

In step b, if m₁′>m₃′, the left boundary is re-defined as d₃′, the d₃′is compared with the R, if R−d₃′ is less than δ, then the larger valuecorresponds to the current value within the sharpness of the imagecorresponding to R, m₁′, m₂′ and m₃′ is used to drive the lens module100 to complete the focus; if R−d₃′ is greater than δ, returning to S2,three current values are randomly sampled within the re-defined left andright search boundaries, and a corresponding sharpness of the images canbe obtained; if m₁′<m₃′, the right boundary is re-defined as d₁′, and ifL−d₁′ is less than δ, then the larger value corresponds to the currentvalue within the sharpness of the image corresponding to L, m₁′, m₂′ andm₃′ is used to drive the lens module 100 to complete the focus; if L−d₁′is greater than δ, returning to S2, three current values are randomlysampled within the re-defined left and right search boundaries, and acorresponding sharpness of the images can be obtained.

In step c, if m₁′>m₂′, the left boundary is re-defined as d₂′, the d; iscompared with the R, and if R−d₂′ is less than δ, then the larger valuecorresponds to the current value within the sharpness of the imagecorresponding to R, m₁′, m₂′ and m₃′ is used to drive the lens module100 to complete the focus; if R−d₂′ is greater than δ, returning to S2,three current values are randomly sampled within the re-defined left andright search boundaries, and a corresponding sharpness of the images canbe obtained; if m₁′<m₂′, the right boundary is re-defined as d₁′, ifL−d₁′ is less than δ, then the larger value corresponds to the currentvalue within the sharpness of the image corresponding to L, m₁′, m₂′ andm₃′ is used to drive the lens module 100 to complete the focus; if L−d₁′is greater than δ, returning to S2, three current values are randomlysampled within the re-defined left and right search boundaries, and acorresponding sharpness of the images can be obtained.

For the focus position searching method in the present embodiment, aninterpolated search method is used for searching and establishing thebest focus current, compared to the global search method the number ofsearches is reduced, searching time is reduced, and the auto-focusmethod has both accuracy and efficiency. Combined with a golden sectionmethod, the left and the right boundaries are continuously movingrightward and leftward and the search boundaries are pinched untilexpectations are achieved, the searching results can thus avoid fallinginto a regional peak.

Although the present disclosure has been specifically described on thebasis of these exemplary embodiments, the disclosure is not to beconstrued as being limited thereto. Various changes or modifications maybe made to the embodiments without departing from the scope and spiritof the disclosure.

What is claimed is:
 1. An auto-focus method used to determine an optimumposition of a lens module, the lens module driven by a voice coil motor(VCM), the VCM moving according to an input current to drive the lensmodule, the auto-focus method, comprising: S1: defining a searchboundary of the input current and an allowable difference of the inputcurrent, where the input current is in an operating current range of thevoice coil motor, a left boundary denoted as L, a right boundary denotedas R, and the allowable difference denoted as δ, wherein |R−L| isgreater than δ; S2: randomly sampling three current values within thesearch boundaries d₁, d₂ and d₃, separately; moving the lens module tocorresponding positions in order to capture three images, andcalculating and recording a sharpness of each images, m₁, m₂ and m₃; S3:determining a parabola from three points from three coordinates (d₁,m₁), (d₂, m₂), and (d₃, m₃), and using a horizontal coordinate d_(n) atvertex of the parabola as a next input current value, and obtaining acorresponding sharpness of the image m_(n); S4: sorting the m_(n), m₁,m₂, and m₃; if m_(n) is the maximum value in the m_(n), m₁, m₂, and m₃,then returning to step S3, using three larger values in the m_(n), m₁,m₂, and m₃ and the corresponding current values to re-determine a newparabola; if the m_(n) is not the maximum value in the m_(n), m₁, m₂,and m₃, entering into step S5; S5: sampling three current values withinthe search boundaries d₁′, d₂′ and d₃′, separately, moving the lensmodule to a corresponding positions in order to capture three images,and calculating and recording a sharpness of each image m₁′, m₂′ andm₃′, wherein d₁′=L+r(R−L), d₂′=L+r(d₁′−L), and d₃′=L+r(R−d₁′), r is agolden section point 0.618; S6: sorting all of the sharpnesses in stepsS2-S5; if anyone of the m₁′, m₂′ and m₃′ is the maximum value, thenreturning to S3, using three larger values in all of the sharpnesses andthe corresponding current values to re-determine a new parabola; ifanyone of the m₁′, m₂′ and m₃′ is not the maximum value, entering intostep S7; and S7: a: if m₁′ is not the maximum value but a larger valuein the m₁′, m₂′ and m₃′, and if m₂>m₃′, the left boundary is re-definedas d₃′, comparing the d₃′ with the R, if R−d₃′ is less than δ, thenusing the larger value corresponds to the current value within thesharpness of the image corresponding to R, m₁′, m₂′ and m₃′ to drive thelens module to complete the focus; if R−d₃′ is greater than δ, returningto S2, randomly sampling three current values within the re-defined leftand right search boundaries, and obtaining a corresponds sharpness ofthe images; if m₂′<m₃′, the right boundary is re-defined as d₂′, ifL−d₂′ is less than δ, then using the larger value corresponds to thecurrent value within the sharpness of the image corresponding to L, m₁′,m₂′ and m₃′ to drive the lens module to complete the focus; if L−d₂′ isgreater than δ, returning to S2, randomly sampling three current valueswithin the re-defined left and right search boundaries, and obtaining acorresponds sharpness of the images; b: if m₂′ is not the maximum valuein the m₁′, m₂′ and m₃′, and if m₁′>m₃′, the left boundary is re-definedas d₃′, comparing the d₃′ with the R, if R−d; is less than δ, then usingthe larger value corresponds to the current value within the sharpnessof the image corresponding to R, m₁′, m₂′ and m₃′ to drive the lensmodule to complete the focus; if R−d₃′ is greater than δ, returning toS2, randomly sampling three current values within the re-defined leftand right search boundaries, and obtaining a corresponds sharpness ofthe images; if m₁′<m₃′, the right boundary is re-defined as d₁′, ifL−d₁′ is less than δ, then using the larger value corresponds to thecurrent value within the sharpness of the image corresponding to L, m₁′,m₂′ and m₃′ to drive the lens module to complete the focus; if L−d₁′ isgreater than δ, returning to S2, randomly sampling three current valueswithin the re-defined left and right search boundaries, and obtaining acorresponds sharpness of the images; c: if m₃′ is not the maximum valueof the m₁′, m₂′ and m₃′, and if m₁′>m₂′, the left boundary is re-definedas d₂′, the d₂′ is compared with the R, if R−d₂′ is less than δ, thenusing the larger value corresponds to the current value within thesharpness of the image corresponding to R, m₁′, m₂′ and m₃′ to drive thelens module to complete the focus; if R−d₂′ is greater than δ, returningto S2, randomly sampling three current values within the re-defined leftand right search boundaries, and obtaining a corresponds sharpness ofthe images; if m₁′<m₂′, the right boundary is re-defined as d₁′, ifL−d₁′ is less than δ, then using the larger value corresponds to thecurrent value within the sharpness of the image corresponding to L, m₁′,m₂′ and m₃′ to drive the lens module to complete the focus; if L−d₁′ isgreater than δ, returning to S2, randomly sampling three current valueswithin the re-defined left and right search boundaries, and obtaining acorresponding sharpness of the images.
 2. The auto-focus method asclaimed in claim 1, wherein the allowable difference is less than orequal to 0.05.
 3. The auto-focus method as claimed in claim 2, whereinthe allowable difference is less than or equal to 0.01.
 4. Theauto-focus method as claimed in claim 1, wherein the sharpness of theimage can be obtained by following formula MTF=(High−Low)/(High+Low),where, High=Ave+0.6(Max−Ave), Low=Ave−0.6(Ave−Min), Ave is an averagevalue of a gray scale, Max is a maximum value of the gray scale, Min isa minimum value of the gray scale.